<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
	<META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=windows-1252">
	<TITLE></TITLE>
	<META NAME="GENERATOR" CONTENT="BrOffice.org 2.4  (Win32)">
	<META NAME="AUTHOR" CONTENT="Karina Kieling">
	<META NAME="CREATED" CONTENT="20081101;21560550">
	<META NAME="CHANGEDBY" CONTENT="Karina Kieling">
	<META NAME="CHANGED" CONTENT="20081101;21594396">
	<STYLE TYPE="text/css">
	<!--
		@page { margin: 2cm }
		P { margin-bottom: 0.21cm }
		P.western { so-language: pt-BR }
	-->
	</STYLE>
</HEAD>
<BODY LANG="pt-BR" DIR="LTR">
<P STYLE="margin-bottom: 0cm; font-weight: medium; line-height: 150%">
</P>
<P STYLE="margin-bottom: 0cm; font-weight: medium; line-height: 150%">
</P>
<P STYLE="margin-bottom: 0cm; line-height: 150%"><B>LINGUAGENS DE
PROGRAMA&Ccedil;&Atilde;O</B></P>
<P CLASS="western" STYLE="line-height: 150%"><BR><BR>
</P>
<P CLASS="western" ALIGN=JUSTIFY STYLE="line-height: 150%">	A
linguagem &eacute; a forma mais eficaz de comunica&ccedil;&atilde;o
entre as pessoas. No computador a linguagem tem o mesmo objetivo, a
diferen&ccedil;a &eacute; que este faz a comunica&ccedil;&atilde;o
entre o programador que esta tentando resolver um determinado
problema e o computador que ser&aacute; o solucionador. Assim sendo,
linguagem de programa&ccedil;&atilde;o, segundo Price e Toscani
(2001), deve unir o pensamento do desenvolvedor e a precis&atilde;o
requerida para o processamento pela m&aacute;quina. 
</P>
<P CLASS="western" ALIGN=JUSTIFY STYLE="line-height: 150%">	Atualmente
as linguagens de programa&ccedil;&atilde;o que s&atilde;o mais
utilizadas s&atilde;o aquelas classificadas de alto n&iacute;vel, que
s&atilde;o mais pr&oacute;ximas &agrave;s linguagens naturais. Para
que se tornem operacionais, os programas escritos em linguagens de
alto n&iacute;vel devem ser traduzidos para linguagem de m&aacute;quina.
A convers&atilde;o &eacute; realizado por sistemas especializados
chamados compiladores ou interpretadores, que recebem como entrada um
representa&ccedil;&atilde;o textual da solu&ccedil;&atilde;o de um
problema, expresso em um linguagem fonte, e produzem uma
representa&ccedil;&atilde;o do mesmo algoritmo expressa em linguagem
objeto (PRICE; TOSCANI, 2001).</P>
<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm; line-height: 150%"><B>Evolu&ccedil;&atilde;o
das Linguagens de Programa&ccedil;&atilde;o</B></P>
<P CLASS="western" ALIGN=JUSTIFY STYLE="line-height: 150%"><BR><BR>
</P>
<P CLASS="western" ALIGN=JUSTIFY STYLE="line-height: 150%">	Linguagens
de programa&ccedil;&atilde;o s&atilde;o classificadas em cinco
gera&ccedil;&otilde;es, seguindo uma seq&uuml;&ecirc;ncia: 1&ordf;
Linguagens de m&aacute;quina, 2&ordf; linguagens simb&oacute;lica
(Assembly), 3&ordf; linguagens orientadas ao usu&aacute;rio, 4&ordf;
linguagens orientadas &agrave; aplica&ccedil;&atilde;o e 5&ordf;
linguagens conhecimento. As linguagens de 1&ordf; e 2&ordf; gera&ccedil;&otilde;es
s&atilde;o consideradas linguagens de baixo n&iacute;vel, as demais
s&atilde;o linguagens classificadas de alto n&iacute;vel. Price e
Toscani (2001) descrevem a evolu&ccedil;&atilde;o das linguagens
conforme o que segue.</P>
<P CLASS="western" ALIGN=JUSTIFY STYLE="line-height: 150%">	Os
computadores no inicio eram programados em linguagem de m&aacute;quina,
ou seja em nota&ccedil;&atilde;o bin&aacute;ria, esta linguagem
permite a comunica&ccedil;&atilde;o direta com o computador em termos
de &ldquo;bits&rdquo;, registradores e opera&ccedil;&otilde;es de
m&aacute;quina bastante primitivas.<B> </B>O problema desta
linguagem, sendo nada mais que seq&uuml;&ecirc;ncia de zeros e uns, a
programa&ccedil;&atilde;o de um algoritmo mais complexo usando este
tipo de linguagem &eacute; complexa, cansativa e fortemente sujeita a
erros.</P>
<P CLASS="western" ALIGN=JUSTIFY STYLE="line-height: 150%">	J&aacute;
a 2&ordf; gera&ccedil;&atilde;o onde as linguagens simb&oacute;licas
ou de montagem (Assembly) est&atilde;o compreendidas, foram
projetadas para minimizar as dificuldades de programa&ccedil;&atilde;o
em nota&ccedil;&atilde;o bin&aacute;ria. Os c&oacute;digos de
opera&ccedil;&atilde;o e endere&ccedil;os bin&aacute;rios formam
substitu&iacute;dos por <FONT COLOR="#000000">mnem&ocirc;nicos</FONT>,
que &eacute; uma fam&iacute;lia de c&oacute;digos operacionais que
realizam tarefas semelhantes no processador. Nas linguagens de
montagem, a maioria das instru&ccedil;&otilde;es s&atilde;o
representa&ccedil;&otilde;es simb&oacute;licas de instru&ccedil;&otilde;es
de m&aacute;quina, e o processamento de um programa em linguagens
simb&oacute;licas requer tradu&ccedil;&atilde;o para linguagens antes
de ele ser executado.</P>
<P CLASS="western" ALIGN=JUSTIFY STYLE="line-height: 150%">	As
linguagens da 3&ordm; gera&ccedil;&atilde;o s&atilde;o classificadas
em linguagens procedimentais e linguagens declarativas. Nas
linguagens procedimentais, um programa especifica um procedimento,
isto &eacute;, uma seq&uuml;&ecirc;ncia de passos a serem seguidos
para soluciona um problema. As instru&ccedil;&otilde;es oferecidas
por essas linguagens pertencem, em geral a tr&ecirc;s classes:
instru&ccedil;&otilde;es de entrada/sa&iacute;da, instru&ccedil;&otilde;es
de c&aacute;lculos aritm&eacute;ticos ou l&oacute;gicos, e instru&ccedil;&otilde;es
de controle de fluxo de execu&ccedil;&atilde;o. Os exemplos de
linguagens procedimentais s&atilde;o: Basic, Algol, PL/I, Pascal,
Ada, C e etc.</P>
<P CLASS="western" ALIGN=JUSTIFY STYLE="line-height: 150%">	As
linguagens declarativas s&atilde;o divididas basicamente em duas
classes: funcionais, que se baseiam na teoria das fun&ccedil;&otilde;es
recursivas, envolvendo, essencialmente a defini&ccedil;&atilde;o e a
chamada de fun&ccedil;&otilde;es, e l&oacute;gicas, que se baseiam na
l&oacute;gica matem&aacute;tica, onde um programa declara fatos
(dados e rela&ccedil;&otilde;es entre eles) e cl&aacute;usulas
l&oacute;gicas (regras de dedu&ccedil;&atilde;o), que permitir&atilde;o
novas verdades a partir dos fatos conhecidos. LISP &eacute; um
exemplo de linguagem funcional e Prolog de linguagem l&oacute;gica.</P>
<P CLASS="western" ALIGN=JUSTIFY STYLE="line-height: 150%">	Como as
linguagens de 3&ordf; gera&ccedil;&atilde;o foram projetadas para
profissionais de processamento de dados e n&atilde;o usu&aacute;rios
finais, a depura&ccedil;&atilde;o de programas escritos nestas
linguagens consome tempo, e a modifica&ccedil;&atilde;o de sistemas
complexos e relativamente dif&iacute;cil, assim as linguagens de 4&ordf;
gera&ccedil;&atilde;o foram projetadas para responder a este
problema.</P>
<P CLASS="western" ALIGN=JUSTIFY STYLE="line-height: 150%">	Nas
linguagens de 4&ordf; gera&ccedil;&atilde;o os programas escritos
necessitam de menos n&uacute;meros de linhas de c&oacute;digo do que
os programas correspondentes em linguagens de programa&ccedil;&atilde;o
convencional. Muitas das linguagens de 4&ordf; gera&ccedil;&atilde;o
s&atilde;o dependentes de um banco de dados e de um dicion&aacute;rio
associado, estes dicion&aacute;rios de dados em alguns casos,
evolu&iacute;ram para conter formatos de telas e de relat&oacute;rios,
estruturas de di&aacute;logos, mecanismos de verifica&ccedil;&atilde;o,
autoriza&ccedil;&otilde;es para ler e modificar de dados e outros
recursos.</P>
<P CLASS="western" ALIGN=JUSTIFY STYLE="line-height: 150%">	As
linguagens de 4&ordf; gera&ccedil;&atilde;o permitem manipular
comandos procedimentais e comandos n&atilde;o-procedimentais, num
mesmo segmento de c&oacute;digo; tal caracter&iacute;stica &eacute;
desej&aacute;vel porque opera&ccedil;&otilde;es n&atilde;o-procedimentais
aceleram e simplificam o uso da linguagem, enquanto o c&oacute;digo
procedimental entende o espa&ccedil;o de aplica&ccedil;&atilde;o,
dando maior flexibilidade de manipula&ccedil;&atilde;o l&oacute;gica.
S&atilde;o exemplos de linguagem de 4&ordf; gera&ccedil;&atilde;o:
Lotus 1-2-3, Excel, SQL e FrameWork.</P>
<P CLASS="western" ALIGN=JUSTIFY STYLE="line-height: 150%"><BR><BR>
</P>
<P CLASS="western" ALIGN=JUSTIFY STYLE="line-height: 150%"><BR><BR>
</P>
<P CLASS="western" ALIGN=JUSTIFY STYLE="margin-bottom: 0cm; line-height: 150%">
<IMG SRC="linguagens_programacao_html_m637a0871.gif" ALIGN=MIDDLE>
<A HREF="Indice.html">Voltar &Iacute;ndice</A></P>
</BODY>
</HTML>